//
//  value.h
//  knx_lib
//
//  Created by zym on 13-5-27.
//  Copyright (c) 2013年 Hinwo. All rights reserved.
//

#ifndef knx_lib_value_h
#define knx_lib_value_h
    
typedef struct{
    _u32 dayOfWeek;
    _u32 hour;
    _u32 min;
    _u32 second;
}KNX_VALUE_TIME;

typedef struct{
    _u32 dayOfMonth;
    _u32 month;
    _u32 years;
}KNX_VALUE_DATE;

/* value */

void degree_2bytes(_int32 degree,_u8 data[2]);
void bytes_2_degree(_u8 data[2],float *degree);
    
void short_2bytes(_u8 *value, _u8 data[2]);
void bytes2_short(_u16 *value,short *svalue, _u8 data[2]);

void int_4bytes(_u8 *value, _u8 data[4]);
void bytes4_int(_u32 *value,int *svalue, _u8 data[4]);

void float_4bytes(_u8 *value, _u8 data[4]);
void bytes4_float(_u8 *floatValue, _u8 data[4]);
    
_u8 onebit_parser(_u8 data[]);
_u8 onebyte_parser(_u8 *data,_u8 len);

void bytes3_2_time(_u8 data[3],KNX_VALUE_TIME *time);
void bytes3_2_date(_u8 data[3],KNX_VALUE_DATE *date);

_int32 isBigEndion();

        
#endif
